package com.zhitan.ems.app.sip.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhitan.ems.common.annotation.Excel;
import com.zhitan.ems.framework.core.mp.base.BaseEntity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 监控设备通道信息
 * 
 * @author zhitan
 * 
 * @date 2025-09-19 22:49:44
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sip_device_channel")
public class SipDeviceChannelEntity extends BaseEntity {
	private static final long serialVersionUID = 1L;
	/**
	 * 主键
	 */
	@TableId
	@ApiModelProperty("主键")
	@Excel(name = "主键")
	private Long id;
	/**
	 * 租户ID
	 */
	@ApiModelProperty("租户ID")
	@Excel(name = "租户ID")
	private Long tenantId;
	/**
	 * 租户名称
	 */
	@ApiModelProperty("租户名称")
	@Excel(name = "租户名称")
	private String tenantName;
	/**
	 * 产品ID
	 */
	@ApiModelProperty("产品ID")
	@Excel(name = "产品ID")
	private Long productId;
	/**
	 * 产品名称
	 */
	@ApiModelProperty("产品名称")
	@Excel(name = "产品名称")
	private String productName;
	/**
	 * 产品ID
	 */
	@ApiModelProperty("产品ID")
	@Excel(name = "产品ID")
	private Long userId;
	/**
	 * 产品名称
	 */
	@ApiModelProperty("产品名称")
	@Excel(name = "产品名称")
	private String userName;
	/**
	 * 设备SipID
	 */
	@ApiModelProperty("设备SipID")
	@Excel(name = "设备SipID")
	private String deviceSipId;
	/**
	 * 通道SipID
	 */
	@ApiModelProperty("通道SipID")
	@Excel(name = "通道SipID")
	private String channelSipId;
	/**
	 * 通道名称
	 */
	@ApiModelProperty("通道名称")
	@Excel(name = "通道名称")
	private String channelName;
	/**
	 * 注册时间
	 */
	@ApiModelProperty("注册时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date registerTime;
	/**
	 * 设备类型
	 */
	@ApiModelProperty("设备类型")
	@Excel(name = "设备类型")
	private String deviceType;
	/**
	 * 通道类型
	 */
	@ApiModelProperty("通道类型")
	@Excel(name = "通道类型")
	private String channelType;
	/**
	 * 城市编码
	 */
	@ApiModelProperty("城市编码")
	@Excel(name = "城市编码")
	private String cityCode;
	/**
	 * 行政区域
	 */
	@ApiModelProperty("行政区域")
	@Excel(name = "行政区域")
	private String civilCode;
	/**
	 * 厂商名称
	 */
	@ApiModelProperty("厂商名称")
	@Excel(name = "厂商名称")
	private String manufacture;
	/**
	 * 产品型号
	 */
	@ApiModelProperty("产品型号")
	@Excel(name = "产品型号")
	private String model;
	/**
	 * 设备归属
	 */
	@ApiModelProperty("设备归属")
	@Excel(name = "设备归属")
	private String owner;
	/**
	 * 警区
	 */
	@ApiModelProperty("警区")
	@Excel(name = "警区")
	private String block;
	/**
	 * 安装地址
	 */
	@ApiModelProperty("安装地址")
	@Excel(name = "安装地址")
	private String address;
	/**
	 * 父级id
	 */
	@ApiModelProperty("父级id")
	@Excel(name = "父级id")
	private String parentid;
	/**
	 * 设备入网IP
	 */
	@ApiModelProperty("设备入网IP")
	@Excel(name = "设备入网IP")
	private String ipaddress;
	/**
	 * 设备接入端口号
	 */
	@ApiModelProperty("设备接入端口号")
	@Excel(name = "设备接入端口号")
	private Long port;
	/**
	 * 密码
	 */
	@ApiModelProperty("密码")
	@Excel(name = "密码")
	private String password;
	/**
	 * PTZ类型
	 */
	@ApiModelProperty("PTZ类型")
	@Excel(name = "PTZ类型")
	private Long ptztype;
	/**
	 * PTZ类型描述字符串
	 */
	@ApiModelProperty("PTZ类型描述字符串")
	@Excel(name = "PTZ类型描述字符串")
	private String ptztypetext;
	/**
	 * 设备状态（1-未激活，2-禁用，3-在线，4-离线）
	 */
	@ApiModelProperty("设备状态（1-未激活，2-禁用，3-在线，4-离线）")
	@Excel(name = "设备状态（1-未激活，2-禁用，3-在线，4-离线）")
	private Integer status;
	/**
	 * 设备经度
	 */
	@ApiModelProperty("设备经度")
	@Excel(name = "设备经度")
	private Double longitude;
	/**
	 * 设备纬度
	 */
	@ApiModelProperty("设备纬度")
	@Excel(name = "设备纬度")
	private Double latitude;
	/**
	 * 流媒体ID
	 */
	@ApiModelProperty("流媒体ID")
	@Excel(name = "流媒体ID")
	private String streamId;
	/**
	 * 子设备数
	 */
	@ApiModelProperty("子设备数")
	@Excel(name = "子设备数")
	private Long subCount;
	/**
	 * 是否有子设备（1-有, 0-没有）
	 */
	@ApiModelProperty("是否有子设备（1-有, 0-没有）")
	@Excel(name = "是否有子设备（1-有, 0-没有）")
	private Integer parental;
	/**
	 * 是否含有音频（1-有, 0-没有）
	 */
	@ApiModelProperty("是否含有音频（1-有, 0-没有）")
	@Excel(name = "是否含有音频（1-有, 0-没有）")
	private Integer hasAudio;
	/**
	 * 创建者
	 */
	@ApiModelProperty("创建者")
	@Excel(name = "创建者")
	private String createBy;
	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date createAt;
	/**
	 * 更新者
	 */
	@ApiModelProperty("更新者")
	@Excel(name = "更新者")
	private String updateBy;
	/**
	 * 更新时间
	 */
	@ApiModelProperty("更新时间")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
	private Date updateAt;
	/**
	 * 备注
	 */
	@ApiModelProperty("备注")
	@Excel(name = "备注")
	private String remark;

}